Despite the fact that Global System for Mobile Communication (GSM) networks have been commercially deployed for almost two decades, interest on the continued improvement of the GSM/Enhanced Data rates for GSM Evolution (EDGE) technology has not dwindled. Network equipment manufacturers, mobile equipment manufacturers and telecom operators continue to develop the GSM system further. Improvements to the hardware/spectral efficiencies for both voice and packet data services are being actively sought. To this end, precoded EGPRS/EGPRS phase 2 (EGPRS2) has been proposed. Precoding involves transformation of the symbol sequence using some suitable transform. Typically a Fourier Transformation is used. FIG. 1 gives a high level view of precoded EGPRS/EGPRS2.
The blocks within the dashed box in FIG. 1 will now be described. After burst formatting, the bit sequence (bn) has the following structure.
  (                              b          1                ,        …        ⁢                                  ,                  b          α                            ︸        guard              ,                            b                      α            +            1                          ,        …        ⁢                                  ,                  b          β                            ︸        tail              ,                            b                      β            +            1                          ,        …        ⁢                                  ,                  b          γ                            ︸        data              ,                            b                      γ            +            1                          ,        …        ⁢                                  ,                  b          δ                            ︸        training              ,                            b                      δ            +            1                          ,        …        ⁢                                  ,                  b          ɛ                            ︸        data              ,                            b                      ɛ            +            1                          ,        …        ⁢                                  ,                  b          φ                            ︸        tail              ,                            b                      φ            +            1                          ,        …        ⁢                                  ,                  b          ϕ                            ︸        guard              )
These bits are mapped to symbols drawn from a Phase Shift Keying (PSK)/Quadrature Amplitude Modulation (QAM) symbol constellation. The letters s, x, t, g will be used to denote PSK/QAM symbols that carry training, payload, tail or guard bits respectively. Thus,(b1, . . . , bα, bφ+1, . . . , bφ)→{right arrow over (g)}=(g1, . . . , gη)(guard)(bα+1, . . . , bβ, bε+1, . . . , bφ)→{right arrow over (t)}=(t1, . . . , tv)(tail)(bβ+1, . . . , bγ, bδ+1, . . . , bε)→{right arrow over (x)}=(x1, . . . , xD)(payload)(bγ+1, . . . , bδ)→{right arrow over (s)}=(s1, . . . , sNtr)(training symbols),where η is the total number of guard symbols, v is the total number of tail symbols, D is the total number of payload symbols and Ntr is the number of training symbols. The total number of payload plus training symbols is N=D+Ntr and the total number of symbols in the burst is K=N+η+v.
The output of the symbol mapping block is the sequence of symbols
      [                  c        1            ,      …      ⁢                          ,              c        K              ]    ⁢      =    def    ⁢            [                        g          ->                ,                  t          ->                ,                  x          ->                ,                  d          ->                    ]        .  
It is convenient to intercalate the training symbols and the payload symbols for synchronization and channel estimation purposes. A vector {right arrow over (z)} of length N is constructed from the payload {right arrow over (x)} and training symbols {right arrow over (s)} accordingly.
      z    ->    =                    [                              z            1                    ,          …          ⁢                                          ,                      z            N                          ]            T        ⁢          =      def        ⁢                            [                                    x              1                        ,            …            ⁢                                                  ,                          s              1                        ,            …            ⁢                                                  ,                          x              p                        ,                          s              m                        ,            …            ⁢                                                  ,                          s                              N                tr                                      ,            …            ⁢                                                  ,                          x              D                                ]                ⁢                                  ⁢                                  ↕                                  ↕                                  ↕                                  ↕                                  ↕                                  ⁢                                  ⁢                  k          ⁡                      (            1            )                              ⁢                          ⁢      …      ⁢                          ⁢              n        ⁡                  (          1          )                    ⁢                          ⁢      …      ⁢                          ⁢              k        ⁡                  (          p          )                    ⁢                          ⁢              n        ⁡                  (          m          )                    ⁢                          ⁢              n        ⁡                  (                      N            tr                    )                    ⁢                          ⁢              k        ⁡                  (          D          )                    
The location of the training symbols is given by the indices (n(m))m=1Ntr. Likewise, the location of the payload symbols is given by (k(m))m=1D. That is, zn(p)=sp and zk(p)=xp. The location of the training symbols should be chosen carefully as it has a large impact on the receiver performance. Discrete Fourier Transform (DFT)-precoding is applied to {right arrow over (z)} to form a new sequence of complex numbers {right arrow over (Z)} as follows. Let W be the Fourier transform matrix of size N×N whose entry in the m-th row and i-th column is
            W              m        ,        i              ⁢          =      def        ⁢                  1                  N                    ⁢              exp        ⁡                  (                                    -              j                        ⁢                                                  ⁢            2            ⁢                          π              ⁡                              (                                  m                  -                  1                                )                                      ⁢                                          (                                  i                  -                  1                                )                            /              N                                )                      ,            for      ⁢                          ⁢      1        ≤    m    ,      i    ≤          N      .      The pre-coding operation is {right arrow over (Z)}=WH·{right arrow over (z)}.
Multiplication by the matrix WH can be implemented efficiently using the fast Fourier transform. Next, an integer L≧0 is chosen and the last L terms in {right arrow over (Z)} are appended at the beginning of {right arrow over (Z)} to form a new vector {right arrow over (Z)}P. In other words, a cyclic prefix of length L is added. For example the values L=0 (no prefix) or L=5 (typical GSM channel length) may be used. Using vector notation, the precoded symbols with the cyclic prefix added are
            Z      ->        P    =            [                        Z          1          P                ,        …        ⁢                                  ,                  Z                      N            +            L                    P                    ]        ⁢          =      def        ⁢                  [                              Z                          N              -              L                                ,                      Z                          N              -              L              +              1                                ,          …          ⁢                                          ,                      Z            N                    ,                      Z            1                    ,                      Z            2                    ,          …          ⁢                                          ,                      Z            N                          ]            .      
The output of the vector precoding (IDFT) block is the sequence of complex numbers
      [                  d        1            ,              d        2            ,      …      ⁢                          ,              d        K              ]    ⁢      =    def    ⁢            [                                                  g              1                        ,            …                                ︸            guard                          ⁢                                  ,                                            t              1                        ,            …                                ︸            tail                          ⁢                                  ,                                            Z              1              P                        ,                          Z              2              P                        ,            …            ⁢                                                  ,                          Z                              N                +                L                            P                                            ︸                          payload              +              pilots                                      ,                              …            ⁢                                                  ,                          t              v                                            ︸            tail                          ,                              …            ⁢                                                  ,                          g              η                                            ︸            guard                              ]        .  
This sequence is upsampled, filtered, upmixed, amplified and sent to the air using a linear modulator such as the EDGE modulator used in a GSM/EDGE Base Transceiver Station (BTS).
In EGRPS and EGPRS2 the modulation used is not known at the receiver and must be detected. This procedure is called blind detection of modulation. In particular, in EGPRS/EGPRS2, the modulation used is signalled through rotation of the transmitted symbols. Different rotation angles correspond to different modulation types (e.g. 3π/8 for 8PSK, π/4 for 16QAM, −π/4 for 32 QAM are used in EGPRS2-A).
One of the main drawbacks of precoded EGPRS is that the Peak to Average Power Ratio (PAPR) of the transmitted signal is very large.
It is known that it is possible to use different training sequences in order to reduce PAPR. The method can be summarized as follows. A finite set of M training sequences is designed and fixed. For any given burst, M different transmit signals are generated, all sharing the same payload, but differing in the training sequence. Of the M generated transmit signals, the one with the lowest PAPR is chosen, and it is transmitted over the air. The other M−1 signals are discarded and are not transmitted. At the receiver side, the receiver uses blind detection in order to estimate the training sequence that was actually used among the possible M training sequences. This is also described in Orthogonal Pilot Sequences for Peak-to-Average Power Reduction in OFDM, M. J. Fernandez-Galatino, J. M. Paez-Borrallo, O. Edfors, Vehicular Technology Conference, 2001. VTC 2001 Fall. IEEE VTS 54th.
A problem with this method is that M different transmit signals must be generated at the transmitter. The computation of each signal requires either memory resources (e.g. by pre-computing and saving in memory the Inverse Discrete Fourier Transform (IDFT) of the M training sequences) or computational resources (e.g. by computing the Inverse Discrete Fourier Transform of each of the M different transmitted signals).
These computations required for PAPR reduction might seem like a minor issue. However, it is a fact that a significant number of installed GSM/EDGE base stations worldwide are old. Therefore, any increase in memory usage and/or computational complexity must be kept to a minimum in order to make precoded EGPRS/EGPRS2 backwards compatible with legacy base station hardware.